import pytest
import shutil
import os
from utils.util_log import get_logger
import subprocess


dirname = os.path.dirname(__file__)
report_dir = os.path.join(dirname, 'report')

@pytest.hookimpl(tryfirst=True)
def pytest_sessionstart(session):
    if os.path.exists(report_dir):
        shutil.rmtree(report_dir)  # 删除旧的报告目录
    os.makedirs(report_dir)  # 重新创建一个空的报告目录

@pytest.hookimpl(tryfirst=True)
def pytest_sessionfinish(session, exitstatus):
    """在pytest完成后生成HTML报告"""
    output_dir = os.path.join(report_dir, 'html')
    # 组合命令
    command = ['allure', 'generate', report_dir, '-o', output_dir, '--clean']
    print("生成测试报告:{}", ' '.join(command))
    get_logger().info("生成测试报告命令为: {}", ' '.join(command))
    # subprocess.call(command)
